package com.epalmpay.service.mall;

import java.util.List;

import com.epalmpay.dto.mall.CategoryOutDTO;
import com.epalmpay.dto.system.BaseInDTO;
import com.epalmpay.dto.system.BaseOutDTO;
import com.epalmpay.dto.mall.MallCategoryInDTO;
import com.epalmpay.dto.mall.MallCategoryOutDTO;
import com.epalmpay.dto.mall.MallCategoryQueryDTO;
import com.epalmpay.entity.MallCategory;

/**
 * Created by lifayi on 2017/5/16.
 */
public interface IMallCategoryService {
    List<MallCategoryOutDTO> mallCategory(MallCategoryQueryDTO mallCategoryQueryDTO) throws Exception;

    MallCategoryOutDTO mallCategoryAdd(MallCategoryInDTO mallCategoryInDTO) throws Exception;

    /**
     * 校验类目名称唯一性
     * @param mallCategoryInDTO
     * @return
     * @throws Exception
     */
    MallCategoryOutDTO selectAndCheckCategoryName(MallCategoryInDTO mallCategoryInDTO) throws Exception;

    /**
     * 根据ID，修改类目信息
     * @param mallCategoryInDTO
     * @return
     * @throws Exception
     */
    int updateCategoryById(MallCategoryInDTO mallCategoryInDTO) throws Exception;

    BaseOutDTO mallCategoryResort(List<MallCategoryInDTO> mallCategoryInDTOList) throws Exception;

    List<MallCategoryOutDTO> getMallCategoryNameAndID(MallCategoryQueryDTO mallCategoryQueryDTO) throws Exception;
    //分享之指定商品 获取优惠券 去选择商品
    List<MallCategoryOutDTO> getShareMallCategoryNameAndID(MallCategoryQueryDTO mallCategoryQueryDTO) throws Exception;

    BaseOutDTO mallCategoryDel(MallCategoryInDTO mallCategoryInDTO);

    BaseOutDTO mallCategoryIcon(MallCategoryInDTO mallCategoryInDTO);

    CategoryOutDTO getCategory(MallCategoryQueryDTO mallCategoryQueryDTO);

    List<MallCategory> getMallCategoryNameAndID2(MallCategoryQueryDTO mallCategoryQueryDTO) throws Exception;
}
